/*************************************************************************
 * Copyright 2008 David Almilli
 *  
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at 
 *  
 *     http://www.apache.org/licenses/LICENSE-2.0 
 *      
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 * See the License for the specific language governing permissions and 
 * limitations under the License.
 **************************************************************************/
package com.almilli.catnip.tomcat5;

import org.apache.coyote.http11.LegacyAccessibleHttp11Processor;
import com.almilli.catnip.server.HmeInputFilter;

public class HmeProcessor extends LegacyAccessibleHttp11Processor {
    public static final int HME_FILTER = 4;

	public HmeProcessor(int headerBufferSize) {
		super(headerBufferSize);
	}

    protected void initializeFilters() {
    	super.initializeFilters();
    	inputBuffer.addFilter(new HmeInputFilter());
    }

	protected void prepareRequest() {
		super.prepareRequest();

        long contentLength = request.getContentLengthLong();
        if (contentLength == -1) {
        	super.clearActiveFilter();
        	HmeInputFilter filter = (HmeInputFilter)inputBuffer.getFilters()[HME_FILTER];
        	filter.setResponse(response);
        	inputBuffer.addActiveFilter(filter);
        }
	}
}
